package javaCode.chapter06;

public class ThisDetail {

    public static void main(String[] args) {

        C c1 = new C();
        c1.f2();
    }
}

class C {

    String name = "Jack";
    int num = 100;

    /*
    细节：访问构造器语法：this(参数列表);
    注意只能在构造器中使用(即只能在构造器中访问另外一个构造器)

    注意：访问构造器语法：this(参数列表); 必须放在第一条语句
     */
    public C(){
        //这里访问 C(String name,int age)
        this("Nick",22);
        System.out.println("C() 构造器");
    }
    public C(String name,int age){
        System.out.println("C(String name,int age) 构造器");
    }

    //this关键字可以用来访问本类的属性
    public void f3(){
        String name = "smith";
        //传统方式
        System.out.println("name"+name+" num="+num);
        //也可以用this访问属性
        System.out.println("name= "+this.name+ " num="+this.num);
    }

    //细节：访问成员方法的语法：this.方法名(参数列表);
    public void f1(){
        System.out.println("f1() 方法..");
    }

    public void f2(){
        System.out.println("f2() 方法..");
        //调用本类的 f1
        //第一种方式
        f1();
        //第二种方式
        this.f1();
    }
}